package com.travel.server.manager.api;

import com.travel.server.manager.dto.request.EmptyRequest;
import com.travel.server.manager.dto.request.user.*;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

/**
 * @Author: LiZhenhui
 * @Date: 2018/11/20 10:50
 * @Desc:
 */
public interface IUserService {

    /**
     * 查询用户列表
     * @param request
     * @return
     */
    @RequestMapping(value = "query_user_list", method = RequestMethod.POST)
    Object queryUserList(QueryUserListRequest request);

    /**
     * 查询用户详情
     * @param request
     * @return
     */
    @RequestMapping(value = "query_user_detail", method = RequestMethod.POST)
    Object queryUserDetail(QueryUserDetailRequest request);

    /**
     * 编辑用户信息
     * @param request
     * @return
     */
    @RequestMapping(value = "update_user", method = RequestMethod.POST)
    Object updateUser(UpdateUserRequest request);

    /**
     * 删除用户信息
     * @param request
     * @return
     */
    @RequestMapping(value = "delete_user", method = RequestMethod.POST)
    Object deleteUser(DeleteUserRequest request);

    /**
     * 查询部门列表
     * @param request
     * @return
     */
    @RequestMapping(value = "query_department_list", method = RequestMethod.POST)
    Object queryDepartmentList(QueryDepartmentListRequest request);

    /**
     * 查询部门详情
     * @param request
     * @return
     */
    @RequestMapping(value = "query_department_detail", method = RequestMethod.POST)
    Object queryDepartmentDetail(QueryDepartmentDetailRequest request);

    /**
     * 编辑部门信息
     * @param request
     * @return
     */
    @RequestMapping(value = "update_department", method = RequestMethod.POST)
    Object updateDepartment(UpdateDepartmentRequest request);

    /**
     * 删除部门信息
     * @param request
     * @return
     */
    @RequestMapping(value = "delete_department", method = RequestMethod.POST)
    Object deleteDepartment(DeleteDepartmentRequest request);

    /**
     * 查询权限
     * @param request
     * @return
     */
    @RequestMapping(value = "query_permission", method = RequestMethod.POST)
    Object queryPermission(QueryPermissionRequest request);

    /**
     * 更新部门权限
     * @param request
     * @return
     */
    @RequestMapping(value = "update_permission", method = RequestMethod.POST)
    Object updatePermission(UpdatePermissionRequest request);

    /**
     * 查询部门枚举
     * @param request
     * @return
     */
    @RequestMapping(value = "query_department_enum", method = RequestMethod.POST)
    Object queryDepartmentEnum(EmptyRequest request);

    /**
     * 查询员工枚举
     * @param request
     * @return
     */
    @RequestMapping(value = "query_user_enum", method = RequestMethod.POST)
    Object queryUserEnum(EmptyRequest request);
}
